#pragma once
#include "IComponent.h"

class TileComponent : public ZeEngine::IComponent
{

public:
    static const u32 cTileWidth = 64;
    static const u32 cTileHeight = 64;

public:
	TileComponent(const Vector2D<u32>& index, const Vector2D<u32>& dimension);
	~TileComponent();

public:
    const Vector2D<u32>& GetWorldIndex() { return m_worldIndex;     }
    const Vector2D<u32>& GetDimension()  { return m_dimension;      }
    const Vector2D<u32>& GetWorldSpan()  { return m_worldTileSpan;  }

private:
    ZeEngine::Vector2D<u32> m_worldIndex;
    ZeEngine::Vector2D<u32> m_worldTileSpan;
    ZeEngine::Vector2D<u32> m_dimension;

#define ICOMPONENT_I
#include ICOMPONENT_H
};

